--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/frontend/ConversationViewer.test.js 7efe60e427bc278ac8636a182c64ed7b7b0db0d6 (7efe60e4) Text, 90.11 KB
Tff7b72import Tb4b4b4{ Te6edf3mountTb4b4b4, Te6edf3flushPromises Tb4b4b4} Tff7b72from Ta5d6ff"@vue/test-utils"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3describeTb4b4b4, Te6edf3itTb4b4b4, Te6edf3expectTb4b4b4, Te6edf3viTb4b4b4, Te6edf3beforeEachTb4b4b4, Te6edf3afterEach Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Te6edf3ConversationViewer Tff7b72from Ta5d6ff"@/components/messages/ConversationViewer.vue"Tb4b4b4;
Tff7b72import Te6edf3WebSocketConnection Tff7b72from Ta5d6ff"@/js/WebSocketConnection"Tb4b4b4;
Tff7b72import Te6edf3GlobalState Tff7b72from Ta5d6ff"@/js/GlobalState"Tb4b4b4;
Tff7b72import Te6edf3DialogUtils Tff7b72from Ta5d6ff"@/js/DialogUtils"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"@/js/ToastUtils"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3MESSAGE_BODY_MAX_DISPLAY_CHARS Tb4b4b4} Tff7b72from Ta5d6ff"../../meshchatx/src/frontend/js/messageDisplayLimits.js"Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3mockTb4b4b4(Ta5d6ff"@/js/DialogUtils"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Tff7b72defaultTff7b72: Tb4b4b4{
Te6edf3confirmTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"ConversationViewer.vue"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72let Te6edf3axiosMockTb4b4b4;
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72= Ta5d6ff"light"Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_outbound_bubble_color Tff7b72= Ta5d6ff"#4f46e5"Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_waiting_bubble_color Tff7b72= Ta5d6ff"#e5e7eb"Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3warn_on_stranger_links Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3connectTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3axiosMock Tff7b72= Tb4b4b4{
Te6edf3getTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/stamp-info"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3stamp_infoTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/signal-metrics"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3signal_metricsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3postTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3api Tff7b72= Te6edf3axiosMockTb4b4b4;
T8b949e// Mock localStorage
Tff7b72const Te6edf3localStorageMock Tff7b72= Tb4b4b4{
Te6edf3getItemTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3setItemTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3removeItemTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3stubGlobalTb4b4b4(Ta5d6ff"localStorage"Tb4b4b4, Te6edf3localStorageMockTb4b4b4)Tb4b4b4;
T8b949e// Mock URL.createObjectURL
Tffa657windowTb4b4b4.Te6edf3URLTb4b4b4.Te6edf3createObjectURL Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Ta5d6ff"mock-url"Tb4b4b4)Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3spyOnTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"open"Tb4b4b4)Tb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72nullTb4b4b4)Tb4b4b4;
T8b949e// Mock FileReader
Tff7b72const Te6edf3mockFileReader Tff7b72= Tb4b4b4{
Te6edf3readAsDataURLTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tff7b72function Tb4b4b4(Te6edf3blobTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3result Tff7b72= Ta5d6ff"data:image/png;base64,mock"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3onloadTb4b4b4(Tb4b4b4{ Te6edf3targetTff7b72: Tb4b4b4{ Te6edf3resultTff7b72: Tff7b72thisTb4b4b4.Te6edf3result Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3stubGlobalTb4b4b4(
Ta5d6ff"FileReader"Tb4b4b4,
Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3mockFileReaderTb4b4b4;
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3afterEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72delete Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4;
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTff7b72?Tb4b4b4.Te6edf3mockRestoreTb4b4b4) Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockRestoreTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3viTb4b4b4.Te6edf3unstubAllGlobalsTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3WebSocketConnectionTb4b4b4.Te6edf3destroyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3mountConversationViewer Tff7b72= Tb4b4b4(Te6edf3props Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3extraMocks Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72return Te6edf3mountTb4b4b4(Te6edf3ConversationViewerTb4b4b4, Tb4b4b4{
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3selectedPeerTff7b72: Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"Test Peer" Tb4b4b4}Tb4b4b4,
Te6edf3myLxmfAddressHashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3conversationsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4...Te6edf3propsTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tffa657globalTff7b72: Tb4b4b4{
Te6edf3directivesTff7b72: Tb4b4b4{ Ta5d6ff"click-outside"Tff7b72: Tb4b4b4{ Te6edf3mountedTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3unmountedTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4,
Te6edf3mocksTff7b72: Tb4b4b4{
Te6edf3$tTff7b72: Tb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4=> Te6edf3keyTb4b4b4,
Te6edf3$routeTff7b72: Tb4b4b4{ Te6edf3metaTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4,
Te6edf3$routerTff7b72: Tb4b4b4{ Te6edf3pushTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4...Te6edf3extraMocksTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3stubsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTff7b72: Tff7b72trueTb4b4b4,
Te6edf3AddImageButtonTff7b72: Tff7b72trueTb4b4b4,
Te6edf3AddAudioButtonTff7b72: Tff7b72trueTb4b4b4,
Te6edf3SendMessageButtonTff7b72: Tff7b72trueTb4b4b4,
Te6edf3ConversationDropDownMenuTff7b72: Tff7b72trueTb4b4b4,
Te6edf3PaperMessageModalTff7b72: Tff7b72trueTb4b4b4,
Te6edf3AudioWaveformPlayerTff7b72: Tff7b72trueTb4b4b4,
Te6edf3LxmfUserIconTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"markConversationAsRead skips server call and reload when conversation is already read"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3conversation Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"read-hash"Tb4b4b4, Te6edf3is_unreadTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3markConversationAsReadTb4b4b4(Te6edf3conversationTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3markCalls Tff7b72= Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockTb4b4b4.Te6edf3callsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Tffa657StringTb4b4b4(Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/mark-as-read"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3markCallsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3emittedTb4b4b4(Ta5d6ff"reload-conversations"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeFalsyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"markConversationAsRead marks read and reloads once when conversation is unread"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3conversation Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"unread-hash"Tb4b4b4, Te6edf3is_unreadTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3markConversationAsReadTb4b4b4(Te6edf3conversationTb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3conversationTb4b4b4.Te6edf3is_unreadTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3markCalls Tff7b72= Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockTb4b4b4.Te6edf3callsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Tffa657StringTb4b4b4(Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/mark-as-read"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3markCallsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3emittedTb4b4b4(Ta5d6ff"reload-conversations"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onMessagePaste adds images from clipboard and prevents default"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3file Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"clip.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3items Tff7b72= Tb4b4b4[
Tb4b4b4{
Te6edf3kindTff7b72: Ta5d6ff"file"Tb4b4b4,
Te6edf3typeTff7b72: Ta5d6ff"image/png"Tb4b4b4,
Te6edf3getAsFileTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3fileTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3clipboardDataTff7b72: Tb4b4b4{ Te6edf3items Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onMessagePasteTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onMessagePaste ignores non-image clipboard files (e.g. PDF) and does not prevent default"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3file Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"doc.pdf"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"application/pdf" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3clipboardDataTff7b72: Tb4b4b4{
Te6edf3itemsTff7b72: Tb4b4b4[
Tb4b4b4{
Te6edf3kindTff7b72: Ta5d6ff"file"Tb4b4b4,
Te6edf3typeTff7b72: Ta5d6ff"application/pdf"Tb4b4b4,
Te6edf3getAsFileTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3fileTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onMessagePasteTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onMessagePaste does nothing when clipboard has no image file items"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3clipboardDataTff7b72: Tb4b4b4{
Te6edf3itemsTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3kindTff7b72: Ta5d6ff"string"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"text/plain"Tb4b4b4, Te6edf3getAsStringTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Ta5d6ff"hi" Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onMessagePasteTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"updates windowWidth on visualViewport resize and removes listeners on unmount"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3vvListeners Tff7b72= Tb4b4b4{ Te6edf3resizeTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4, Te6edf3scrollTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3vv Tff7b72= Tb4b4b4{
Te6edf3addEventListenerTb4b4b4(Te6edf3evTb4b4b4, Te6edf3fnTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ev Tff7b72=== Ta5d6ff"resize"Tb4b4b4) Tb4b4b4{
Te6edf3vvListenersTb4b4b4.Te6edf3resizeTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3fnTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ev Tff7b72=== Ta5d6ff"scroll"Tb4b4b4) Tb4b4b4{
Te6edf3vvListenersTb4b4b4.Te6edf3scrollTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3fnTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3removeEventListenerTb4b4b4(Te6edf3evTb4b4b4, Te6edf3fnTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3ev Tff7b72=== Ta5d6ff"resize"Tb4b4b4) Tb4b4b4{
Te6edf3vvListenersTb4b4b4.Te6edf3resize Tff7b72= Te6edf3vvListenersTb4b4b4.Te6edf3resizeTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3fTb4b4b4) Tb4b4b4=> Te6edf3f Tff7b72!== Te6edf3fnTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ev Tff7b72=== Ta5d6ff"scroll"Tb4b4b4) Tb4b4b4{
Te6edf3vvListenersTb4b4b4.Te6edf3scroll Tff7b72= Te6edf3vvListenersTb4b4b4.Te6edf3scrollTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3fTb4b4b4) Tb4b4b4=> Te6edf3f Tff7b72!== Te6edf3fnTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3stubGlobalTb4b4b4(Ta5d6ff"visualViewport"Tb4b4b4, Te6edf3vvTb4b4b4)Tb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"innerWidth"Tb4b4b4, Tb4b4b4{ Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4, Te6edf3valueTff7b72: T79c0ff300 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"innerWidth"Tb4b4b4, Tb4b4b4{ Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4, Te6edf3valueTff7b72: T79c0ff700 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3vvListenersTb4b4b4.Te6edf3resizeTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3vvListenersTb4b4b4.Te6edf3resizeTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3windowWidthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff700Tb4b4b4)Tb4b4b4;
Te6edf3vvListenersTb4b4b4.Te6edf3scrollTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3windowWidthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff700Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3vvListenersTb4b4b4.Te6edf3resizeTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3vvListenersTb4b4b4.Te6edf3scrollTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onMessagePaste adds multiple images from a single paste event"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3f1 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"a.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3f2 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"b.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3clipboardDataTff7b72: Tb4b4b4{
Te6edf3itemsTff7b72: Tb4b4b4[
Tb4b4b4{ Te6edf3kindTff7b72: Ta5d6ff"file"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"image/png"Tb4b4b4, Te6edf3getAsFileTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3f1 Tb4b4b4}Tb4b4b4,
Tb4b4b4{ Te6edf3kindTff7b72: Ta5d6ff"file"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"image/png"Tb4b4b4, Te6edf3getAsFileTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3f2 Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onMessagePasteTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onComposerImageDrop adds images from dataTransfer.files"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3file Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"photo.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3dataTransfer Tff7b72= Tb4b4b4{
Te6edf3filesTff7b72: Tb4b4b4[Te6edf3fileTb4b4b4]Tb4b4b4,
Te6edf3itemsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3dataTransferTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onComposerImageDropTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3composerImageDropActiveTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"warns before opening http links from strangers when enabled"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isStrangerPeer Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3warn_on_stranger_links Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4.Te6edf3mockResolvedValueOnceTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3anchor Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3anchorTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"href"Tb4b4b4, Ta5d6ff"https://example.com/path"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3anchorTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"messages.stranger_link_open_confirm"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"https://example.com/path"Tb4b4b4, Ta5d6ff"_blank"Tb4b4b4, Ta5d6ff"noopener,noreferrer"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not open stranger http link when warning confirm is rejected"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isStrangerPeer Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3warn_on_stranger_links Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4.Te6edf3mockResolvedValueOnceTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3anchor Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3anchorTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"href"Tb4b4b4, Ta5d6ff"https://example.com/path"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3anchorTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"opens stranger http link without prompt when warning is disabled"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isStrangerPeer Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3warn_on_stranger_links Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3anchor Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3anchorTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"href"Tb4b4b4, Ta5d6ff"https://example.com/path"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3anchorTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"https://example.com/path"Tb4b4b4, Ta5d6ff"_blank"Tb4b4b4, Ta5d6ff"noopener,noreferrer"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"blocks non-http href payloads like data urls in message anchors"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isStrangerPeer Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3warn_on_stranger_links Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3anchor Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3anchorTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"href"Tb4b4b4, Ta5d6ff"data:image/png;base64,AAAA"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3anchorTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"blocks https-looking anchors that are not a single safe http(s) URL (LinkUtils)"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isStrangerPeer Tff7b72= Tff7b72falseTb4b4b4;
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3anchor Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3anchorTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"href"Tb4b4b4, Ta5d6ff"https://example.com javascript:alert(1)"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3anchorTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"blocks javascript: href in rendered message anchors"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3openTb4b4b4.Te6edf3mockClearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3anchor Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3anchorTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"href"Tb4b4b4, Ta5d6ff"javascript:alert(1)"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3anchorTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Tffa657windowTb4b4b4.Te6edf3openTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not router.push for nomadnet link when destination hash is not 32 hex chars"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3push Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(
Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3$routerTff7b72: Tb4b4b4{ Te6edf3push Tb4b4b4}Tb4b4b4,
Te6edf3$routeTff7b72: Tb4b4b4{ Te6edf3metaTff7b72: Tb4b4b4{ Te6edf3isPopoutTff7b72: Tff7b72false Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3a Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"nomadnet-link"Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-nomadnet-url"Tb4b4b4, Ta5d6ff"not32hexchars:/page/index.mu"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3aTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3pushTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"router.push for valid nomadnet data-nomadnet-url"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3push Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(
Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3$routerTff7b72: Tb4b4b4{ Te6edf3push Tb4b4b4}Tb4b4b4,
Te6edf3$routeTff7b72: Tb4b4b4{ Te6edf3metaTff7b72: Tb4b4b4{ Te6edf3isPopoutTff7b72: Tff7b72false Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hash Tff7b72= Ta5d6ff"1dfeb0d794963579bd21ac8f153c77a4"Tb4b4b4;
Tff7b72const Te6edf3a Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"nomadnet-link"Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-nomadnet-url"Tb4b4b4, Ta5d6ff`Tffd700${Te6edf3hashTffd700}Ta5d6ff:/page/index.muTa5d6ff`Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3aTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3pushTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"nomadnetwork"Tb4b4b4,
Te6edf3paramsTff7b72: Tb4b4b4{ Te6edf3destinationHashTff7b72: Te6edf3hash Tb4b4b4}Tb4b4b4,
Te6edf3queryTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/page/index.mu" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not router.push for lxmf link when address is not 32 hex chars"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3push Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(
Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3$routerTff7b72: Tb4b4b4{ Te6edf3push Tb4b4b4}Tb4b4b4,
Te6edf3$routeTff7b72: Tb4b4b4{ Te6edf3metaTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3a Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"lxmf-link"Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-lxmf-address"Tb4b4b4, Ta5d6ff"abcdabcdabcdabcdabcdabcdabcdab"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3aTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3eventTb4b4b4.Te6edf3preventDefaultTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3pushTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"router.push for valid lxmf data-lxmf-address"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3push Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(
Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3$routerTff7b72: Tb4b4b4{ Te6edf3push Tb4b4b4}Tb4b4b4,
Te6edf3$routeTff7b72: Tb4b4b4{ Te6edf3metaTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hash Tff7b72= Ta5d6ff"1dfeb0d794963579bd21ac8f153c77a4"Tb4b4b4;
Tff7b72const Te6edf3a Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"a"Tb4b4b4)Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3className Tff7b72= Ta5d6ff"lxmf-link"Tb4b4b4;
Te6edf3aTb4b4b4.Te6edf3setAttributeTb4b4b4(Ta5d6ff"data-lxmf-address"Tb4b4b4, Te6edf3hashTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3targetTff7b72: Te6edf3aTb4b4b4, Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3handleMessageClickTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3pushTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"messages"Tb4b4b4,
Te6edf3paramsTff7b72: Tb4b4b4{ Te6edf3destinationHashTff7b72: Te6edf3hash Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onComposerImageDrop ignores non-image files"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3pdf Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"doc.pdf"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"application/pdf" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3dataTransfer Tff7b72= Tb4b4b4{
Te6edf3filesTff7b72: Tb4b4b4[Te6edf3pdfTb4b4b4]Tb4b4b4,
Te6edf3itemsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{ Te6edf3dataTransfer Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onComposerImageDropTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"collectImageFilesFromDataTransfer uses items when files has no images"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3file Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"x.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3pdf Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"only.pdf"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"application/pdf" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3dt Tff7b72= Tb4b4b4{
Te6edf3filesTff7b72: Tb4b4b4[Te6edf3pdfTb4b4b4]Tb4b4b4,
Te6edf3itemsTff7b72: Tb4b4b4[
Tb4b4b4{
Te6edf3kindTff7b72: Ta5d6ff"file"Tb4b4b4,
Te6edf3typeTff7b72: Ta5d6ff"image/png"Tb4b4b4,
Te6edf3getAsFileTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3fileTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3got Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3collectImageFilesFromDataTransferTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3gotTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3gotTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"x.png"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onComposerImageDragOver sets highlight when not translating"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isTranslatingMessage Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3dataTransferTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onComposerImageDragOverTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3composerImageDropActiveTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onComposerImageDragOver does not highlight while translating"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isTranslatingMessage Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3preventDefaultTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3dataTransferTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onComposerImageDragOverTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3composerImageDropActiveTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"onComposerImageDragLeave clears highlight when leaving composer"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3composerImageDropActive Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72const Te6edf3outer Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"div"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3inner Tff7b72= Tffa657documentTb4b4b4.Te6edf3createElementTb4b4b4(Ta5d6ff"span"Tb4b4b4)Tb4b4b4;
Te6edf3outerTb4b4b4.Te6edf3appendChildTb4b4b4(Te6edf3innerTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3event Tff7b72= Tb4b4b4{
Te6edf3currentTargetTff7b72: Te6edf3outerTb4b4b4,
Te6edf3relatedTargetTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onComposerImageDragLeaveTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3composerImageDropActiveTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"pasteFromClipboard inserts text at the message input selection"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3readText Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Ta5d6ff"pasted-text"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3stubGlobalTb4b4b4(Ta5d6ff"navigator"Tb4b4b4, Tb4b4b4{
Tb4b4b4...Te6edf3navigatorTb4b4b4,
Te6edf3clipboardTff7b72: Tb4b4b4{ Te6edf3readText Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3prevSc Tff7b72= Tffa657windowTb4b4b4.Te6edf3isSecureContextTb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"isSecureContext"Tb4b4b4, Tb4b4b4{ Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4, Te6edf3valueTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3ta Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findTb4b4b4(Ta5d6ff"#message-input"Tb4b4b4)Tb4b4b4.Te6edf3elementTb4b4b4;
Te6edf3taTb4b4b4.Te6edf3selectionStart Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3taTb4b4b4.Te6edf3selectionEnd Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3pasteFromClipboardTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageTextTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"pasted-text"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"isSecureContext"Tb4b4b4, Tb4b4b4{ Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4, Te6edf3valueTff7b72: Te6edf3prevSc Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"pasteFromClipboard toasts insecure context and does not call readText"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3readText Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Ta5d6ff"never"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3stubGlobalTb4b4b4(Ta5d6ff"navigator"Tb4b4b4, Tb4b4b4{
Tb4b4b4...Te6edf3navigatorTb4b4b4,
Te6edf3clipboardTff7b72: Tb4b4b4{ Te6edf3readText Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3prevSc Tff7b72= Tffa657windowTb4b4b4.Te6edf3isSecureContextTb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"isSecureContext"Tb4b4b4, Tb4b4b4{ Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4, Te6edf3valueTff7b72: Tff7b72false Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3errSpy Tff7b72= Te6edf3viTb4b4b4.Te6edf3spyOnTb4b4b4(Te6edf3ToastUtilsTb4b4b4, Ta5d6ff"error"Tb4b4b4)Tb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3pasteFromClipboardTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3readTextTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3errSpyTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Ta5d6ff"messages.clipboard_read_requires_secure_context"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Te6edf3errSpyTb4b4b4.Te6edf3mockRestoreTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657ObjectTb4b4b4.Te6edf3definePropertyTb4b4b4(Tffa657windowTb4b4b4, Ta5d6ff"isSecureContext"Tb4b4b4, Tb4b4b4{ Te6edf3configurableTff7b72: Tff7b72trueTb4b4b4, Te6edf3valueTff7b72: Te6edf3prevSc Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"showRawMessage loads raw uri and keeps stored path fields from the message"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3peer Tff7b72= Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3msgHash Tff7b72= Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/lxmf-messages/"Tb4b4b4) Tff7b72&& Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/uri"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3uriTff7b72: Ta5d6ff"lxmf://packed-uri" Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/destination/"Tb4b4b4) Tff7b72&& Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Tb4b4b4{ Te6edf3hopsTff7b72: T79c0ff99Tb4b4b4, Te6edf3next_hop_interfaceTff7b72: Ta5d6ff"Should not use" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/stamp-info"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3stamp_infoTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/signal-metrics"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3signal_metricsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{
Te6edf3selectedPeerTff7b72: Tb4b4b4{ Te6edf3destination_hashTff7b72: Te6edf3peerTb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"Peer" Tb4b4b4}Tb4b4b4,
Te6edf3myLxmfAddressHashTff7b72: Ta5d6ff"c"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72let Te6edf3guard Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72while Tb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3initialLoadActive Tff7b72&& Te6edf3guard Tff7b72< T79c0ff200Tb4b4b4) Tb4b4b4{
Tff7b72await Te6edf3flushPromisesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3guard Tff7b72+= T79c0ff1Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3getCallsBefore Tff7b72= Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockTb4b4b4.Te6edf3callsTb4b4b4.Te6edf3lengthTb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showRawMessageTb4b4b4(Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Te6edf3msgHashTb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"d"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4,
Te6edf3destination_hashTff7b72: Te6edf3peerTb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3methodTff7b72: Ta5d6ff"direct"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hi"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3idTff7b72: T79c0ff42Tb4b4b4,
Te6edf3path_hops_at_sendTff7b72: T79c0ff3Tb4b4b4,
Te6edf3path_interface_at_sendTff7b72: Ta5d6ff"Default Interface"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isRawMessageModalOpenTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3rawMessageDataTb4b4b4.Te6edf3raw_uriTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"lxmf://packed-uri"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3rawMessageDataTb4b4b4.Te6edf3path_hops_at_sendTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3rawMessageDataTb4b4b4.Te6edf3path_interface_at_sendTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"Default Interface"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3callsDuringRaw Tff7b72= Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockTb4b4b4.Te6edf3callsTb4b4b4.Te6edf3sliceTb4b4b4(Te6edf3getCallsBeforeTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3destinationPathCalls Tff7b72= Te6edf3callsDuringRawTb4b4b4.Te6edf3filterTb4b4b4(
Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Tff7b72typeof Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"string" Tff7b72&& Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/destination/"Tb4b4b4) Tff7b72&& Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3destinationPathCallsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3callsDuringRawTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/uri"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"isMessageBodyTooLargeForDisplay is true only above display limit"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3atLimit Tff7b72= Tb4b4b4{ Te6edf3lxmf_messageTff7b72: Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"x"Tb4b4b4.Te6edf3repeatTb4b4b4(Te6edf3MESSAGE_BODY_MAX_DISPLAY_CHARSTb4b4b4) Tb4b4b4} Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3over Tff7b72= Tb4b4b4{ Te6edf3lxmf_messageTff7b72: Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"x"Tb4b4b4.Te6edf3repeatTb4b4b4(Te6edf3MESSAGE_BODY_MAX_DISPLAY_CHARS Tff7b72+ T79c0ff1Tb4b4b4) Tb4b4b4} Tb4b4b4}Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isMessageBodyTooLargeForDisplayTb4b4b4(Te6edf3atLimitTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isMessageBodyTooLargeForDisplayTb4b4b4(Te6edf3overTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rawMessageJsonPreviewPretty replaces huge content for JSON details"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3huge Tff7b72= Ta5d6ff"z"Tb4b4b4.Te6edf3repeatTb4b4b4(Te6edf3MESSAGE_BODY_MAX_DISPLAY_CHARS Tff7b72+ T79c0ff5000Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setDataTb4b4b4(Tb4b4b4{
Te6edf3rawMessageDataTff7b72: Tb4b4b4{ Te6edf3idTff7b72: T79c0ff1Tb4b4b4, Te6edf3contentTff7b72: Te6edf3hugeTb4b4b4, Te6edf3hashTff7b72: Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3s Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3rawMessageJsonPreviewPrettyTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toContainTb4b4b4(Te6edf3hugeTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Omitted"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Tffa657StringTb4b4b4(Te6edf3hugeTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"adds multiple images and renders previews"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3image1 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"image1.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3image2 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"image2.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onImageSelectedTb4b4b4(Te6edf3image1Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onImageSelectedTb4b4b4(Te6edf3image2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImageUrlsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
T8b949e// Check if previews are rendered
Tff7b72const Te6edf3previews Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findAllTb4b4b4(Ta5d6ff"img"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3previewsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"removes an image attachment"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3image1 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"image1.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onImageSelectedTb4b4b4(Te6edf3image1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3removeImageAttachmentTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageImagesTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"sends multiple images as separate messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff"Hello"Tb4b4b4;
Tff7b72const Te6edf3image1 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"image1.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3image2 Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Tb4b4b4[Ta5d6ff""Tb4b4b4]Tb4b4b4, Ta5d6ff"image2.png"Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"image/png" Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// Mock arrayBuffer for files
Te6edf3image1Tb4b4b4.Te6edf3arrayBuffer Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tff7b72new Tffa657ArrayBufferTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3image2Tb4b4b4.Te6edf3arrayBuffer Tff7b72= Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tff7b72new Tffa657ArrayBufferTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onImageSelectedTb4b4b4(Te6edf3image1Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onImageSelectedTb4b4b4(Te6edf3image2Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messageTff7b72: Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"mock-hash" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3sendMessageTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3sendCalls Tff7b72= Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockTb4b4b4.Te6edf3callsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72=== Ta5d6ff"/api/v1/lxmf-messages/send"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3sendCallsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3sendCallsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(
Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"Hello"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3sendCallsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toEqualTb4b4b4(
Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"auto-loads audio attachments on mount"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3chatItems Tff7b72= Tb4b4b4[
Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"audio-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{
Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10Tb4b4b4, Te6edf3audio_bytesTff7b72: Ta5d6ff"base64-data" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Te6edf3chatItemsTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3iTb4b4b4) Tb4b4b4=> Te6edf3iTb4b4b4.Te6edf3lxmf_messageTb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{
Te6edf3conversationsTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
T8b949e// initialLoad is called on mount
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
T8b949e// downloadAndDecodeAudio should be triggered by autoLoadAudioAttachments
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(Te6edf3expectTb4b4b4.Te6edf3stringContainingTb4b4b4(Ta5d6ff"/audio"Tb4b4b4)Tb4b4b4, Te6edf3expectTb4b4b4.Te6edf3anyTb4b4b4(Tffa657ObjectTb4b4b4)Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"shows retry button in context menu for failed outbound messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3failedChatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"failed-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"failed"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"failed message"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3failedChatItemTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3chatItem Tff7b72= Te6edf3failedChatItemTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3show Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3menuHtml Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3htmlTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3menuHtmlTb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Retry"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not show retry in context menu for delivered messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3deliveredItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"delivered-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"delivered message"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3deliveredItemTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3chatItem Tff7b72= Te6edf3deliveredItemTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3show Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3retryButtons Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findAllTb4b4b4(Ta5d6ff"button"Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3bTb4b4b4) Tb4b4b4=> Te6edf3bTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"Retry"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3retryButtonsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"calls retrySendingMessage when retry context menu clicked"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3failedChatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"retry-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"failed"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"retry me"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3reply_to_hashTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messageTff7b72: Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"new-hash"Tb4b4b4, Te6edf3stateTff7b72: Ta5d6ff"outbound" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3chatItem Tff7b72= Te6edf3failedChatItemTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3show Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3x Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3messageContextMenuTb4b4b4.Te6edf3y Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3retryButtonEl Tff7b72= Tffa657ArrayTb4b4b4.Tff7b72fromTb4b4b4(Tffa657documentTb4b4b4.Te6edf3bodyTb4b4b4.Te6edf3querySelectorAllTb4b4b4(Ta5d6ff"button"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3bTb4b4b4) Tb4b4b4=>
Te6edf3bTb4b4b4.Te6edf3textContentTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"Retry"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3retryButtonElTb4b4b4)Tb4b4b4.Te6edf3toBeDefinedTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3retrySendingMessageTb4b4b4(Te6edf3failedChatItemTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(
Te6edf3expectTb4b4b4.Te6edf3stringContainingTb4b4b4(Ta5d6ff"/lxmf-messages/send"Tb4b4b4)Tb4b4b4,
Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"retry me"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"marks received messages as not outbound"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3incomingMessage Tff7b72= Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"incoming-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onLxmfMessageReceivedTb4b4b4(Te6edf3incomingMessageTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3addedItem Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3iTb4b4b4) Tb4b4b4=> Te6edf3iTb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Ta5d6ff"incoming-hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4)Tb4b4b4.Te6edf3toBeDefinedTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4.Te6edf3is_outboundTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"generates created_at from timestamp when missing"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3liveMsg Tff7b72= Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"live-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onLxmfMessageReceivedTb4b4b4(Te6edf3liveMsgTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3addedItem Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3iTb4b4b4) Tb4b4b4=> Te6edf3iTb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Ta5d6ff"live-hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3created_atTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72new Tffa657DateTb4b4b4(T79c0ff1700000000 Tff7b72* T79c0ff1000Tb4b4b4)Tb4b4b4.Te6edf3toISOStringTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"converts unknown state to outbound for outgoing messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3outMsg Tff7b72= Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"out-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"unknown"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onLxmfMessageCreatedTb4b4b4(Te6edf3outMsgTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3addedItem Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3iTb4b4b4) Tb4b4b4=> Te6edf3iTb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Ta5d6ff"out-hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4)Tb4b4b4.Te6edf3toBeDefinedTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"outbound"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4.Te6edf3is_outboundTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"preserves unknown state for incoming messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3inMsg Tff7b72= Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"in-unknown-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"unknown"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onLxmfMessageReceivedTb4b4b4(Te6edf3inMsgTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3addedItem Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3iTb4b4b4) Tb4b4b4=> Te6edf3iTb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Ta5d6ff"in-unknown-hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"unknown"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not overwrite existing created_at"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3dbMsg Tff7b72= Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"db-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3created_atTff7b72: Ta5d6ff"2023-11-14T22:13:20.000Z"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onLxmfMessageReceivedTb4b4b4(Te6edf3dbMsgTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3addedItem Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3iTb4b4b4) Tb4b4b4=> Te6edf3iTb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Ta5d6ff"db-hash"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3addedItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3created_atTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"2023-11-14T22:13:20.000Z"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"uses theme outbound bubble: no inline background for default indigo config"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_outbound_bubble_color Tff7b72= Ta5d6ff"#4f46e5"Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3chatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"h1"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hi"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3styles Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3bubbleStylesTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3stylesTb4b4b4[Ta5d6ff"background-color"Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeUndefinedTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3outboundBubbleSurfaceClassTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"bg-sky-100"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"uses solid outbound bubble when custom color is set"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_outbound_bubble_color Tff7b72= Ta5d6ff"#ff0000"Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3chatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"h2"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hi"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3bubbleStylesTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toMatchObjectTb4b4b4(Tb4b4b4{
Ta5d6ff"background-color"Tff7b72: Ta5d6ff"#ff0000"Tb4b4b4,
Te6edf3colorTff7b72: Ta5d6ff"#ffffff"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3outboundBubbleSurfaceClassTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"shadow-xs"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"applies waiting bubble color when pathfinding"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_waiting_bubble_color Tff7b72= Ta5d6ff"#ccddff"Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3chatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"h-wait"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hi"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3_pendingPathfindingTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3bubbleStylesTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toMatchObjectTb4b4b4(Tb4b4b4{
Ta5d6ff"background-color"Tff7b72: Ta5d6ff"#ccddff"Tb4b4b4,
Te6edf3colorTff7b72: Ta5d6ff"#111827"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3outboundBubbleSurfaceClassTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"uses dark neutral waiting bubble when pathfinding in dark theme with default gray"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72= Ta5d6ff"dark"Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_waiting_bubble_color Tff7b72= Ta5d6ff"#e5e7eb"Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3chatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"h-wait-dark"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hi"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3_pendingPathfindingTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3bubbleStylesTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toMatchObjectTb4b4b4(Tb4b4b4{
Ta5d6ff"background-color"Tff7b72: Ta5d6ff"#3f3f46"Tb4b4b4,
Te6edf3colorTff7b72: Ta5d6ff"#ffffff"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"marks inbound messages with markdown-content--inbound for link styling"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3message_outbound_bubble_color Tff7b72= Ta5d6ff"#4f46e5"Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3chatItem Tff7b72= Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72falseTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"in1"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"https://example.com"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3chatItemTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3findTb4b4b4(Ta5d6ff".markdown-content--inbound"Tb4b4b4)Tb4b4b4.Te6edf3existsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"sets reply state and includes reply_to_hash in sendMessage"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3chatItem Tff7b72= Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"original-hash"Tb4b4b4, Te6edf3contentTff7b72: Ta5d6ff"Original message" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
T8b949e// Add to chatItems
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3chatItemTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3replyToMessageTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3replyingToTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff"My reply"Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4.Te6edf3mockResolvedValueTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messageTff7b72: Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"reply-hash" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3sendMessageTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3axiosMockTb4b4b4.Te6edf3postTb4b4b4)Tb4b4b4.Te6edf3toHaveBeenCalledWithTb4b4b4(
Ta5d6ff"/api/v1/lxmf-messages/send"Tb4b4b4,
Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3lxmf_messageTff7b72: Te6edf3expectTb4b4b4.Te6edf3objectContainingTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"My reply"Tb4b4b4,
Te6edf3reply_to_hashTff7b72: Ta5d6ff"original-hash"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3replyingToTb4b4b4)Tb4b4b4.Te6edf3toBeNullTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"conversation history loading"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3deferredConversationGet Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3deferredResolvers Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/lxmf-messages/conversation/"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3deferredResolversTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3resolveTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/stamp-info"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3stamp_infoTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/signal-metrics"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3signal_metricsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/contacts/check/"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3deferredResolversTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tff7b72let Te6edf3inboundMsgId Tff7b72= T79c0ff1000Tb4b4b4;
Tff7b72const Te6edf3inboundFrom Tff7b72= Tb4b4b4(Te6edf3hashTb4b4b4, Te6edf3contentTb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Te6edf3idTff7b72: Te6edf3inboundMsgIdTff7b72++Tb4b4b4,
Te6edf3hashTff7b72: Ta5d6ff`Ta5d6ffmsg-Tffd700${Te6edf3hashTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff4Tb4b4b4)Tffd700}Ta5d6ff-Tffd700${Te6edf3contentTffd700}Ta5d6ff`Tb4b4b4,
Te6edf3source_hashTff7b72: Te6edf3hashTb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"loads the current peer after switching while a prior fetch was still in flight"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3deferredResolvers Tff7b72= Te6edf3deferredConversationGetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3peerA Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3peerB Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"B" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{
Te6edf3selectedPeerTff7b72: Te6edf3peerATb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3deferredResolversTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanOrEqualTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerB Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3deferredResolversTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanOrEqualTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3deferredResolversTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3deferredResolversTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{
Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Te6edf3inboundFromTb4b4b4(Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Ta5d6ff"hello"Tb4b4b4)Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3contentTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"hello"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"applies only the latest peer response when multiple requests resolve out of order"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3deferredResolvers Tff7b72= Te6edf3deferredConversationGetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3peerA Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3peerB Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"B" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3peerC Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"c"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"C" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerA Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3deferredResolversTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanOrEqualTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerB Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3deferredResolversTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanOrEqualTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerC Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3deferredResolversTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanOrEqualTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3deferredResolversTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Te6edf3inboundFromTb4b4b4(Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Ta5d6ff"stale-a"Tb4b4b4)Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3deferredResolversTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Te6edf3inboundFromTb4b4b4(Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Ta5d6ff"stale-b"Tb4b4b4)Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3deferredResolversTb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4(Tb4b4b4{
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Te6edf3inboundFromTb4b4b4(Ta5d6ff"c"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Ta5d6ff"current"Tb4b4b4)Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3contentTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"current"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not start another page fetch while pagination is already in flight"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3baseMsg Tff7b72= Tb4b4b4{
Te6edf3idTff7b72: T79c0ff42Tb4b4b4,
Te6edf3hashTff7b72: Ta5d6ff"page1-msg"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"first page"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/lxmf-messages/conversation/"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Te6edf3baseMsgTb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/stamp-info"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3stamp_infoTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/signal-metrics"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3signal_metricsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/contacts/check/"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3conversationGets Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=>
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockTb4b4b4.Te6edf3callsTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Tffa657StringTb4b4b4(Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/lxmf-messages/conversation/"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3countBefore Tff7b72= Te6edf3conversationGetsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3lengthTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLoadingPrevious Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3loadPreviousTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3conversationGetsTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Te6edf3countBeforeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"uses min loaded peer message id for pagination when telemetry-only rows are hidden from the list"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3deferredResolvers Tff7b72= Te6edf3deferredConversationGetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3peerHash Tff7b72= Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{
Te6edf3selectedPeerTff7b72: Tb4b4b4{ Te6edf3destination_hashTff7b72: Te6edf3peerHashTb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3viTb4b4b4.Te6edf3waitForTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3expectTb4b4b4(Te6edf3deferredResolversTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeGreaterThanOrEqualTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3deferredResolversTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTelemetryInChatTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72falseTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3idTff7b72: T79c0ff100Tb4b4b4,
Te6edf3hashTff7b72: Ta5d6ff"h100"Tb4b4b4,
Te6edf3source_hashTff7b72: Te6edf3peerHashTb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3commandsTff7b72: Tb4b4b4[Tb4b4b4{ Ta5d6ff"0x01"Tff7b72: Tb4b4b4[T79c0ff1Tb4b4b4, Tff7b72trueTb4b4b4] Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72falseTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3idTff7b72: T79c0ff200Tb4b4b4,
Te6edf3hashTff7b72: Ta5d6ff"h200"Tb4b4b4,
Te6edf3source_hashTff7b72: Te6edf3peerHashTb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000001Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3oldestMessageIdTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Te6edf3axiosMockTb4b4b4.Te6edf3getTb4b4b4.Te6edf3mockImplementationTb4b4b4(Tb4b4b4(Te6edf3urlTb4b4b4, Te6edf3configTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/lxmf-messages/conversation/"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3configTb4b4b4.Te6edf3paramsTb4b4b4.Te6edf3after_idTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3lxmf_messagesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/path"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3pathTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/stamp-info"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3stamp_infoTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/signal-metrics"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3signal_metricsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3urlTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"/contacts/check/"Tb4b4b4)Tb4b4b4) Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4{ Te6edf3dataTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3loadPreviousTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"compose draft persistence"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72let Te6edf3draftStoreTb4b4b4;
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3draftStore Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3stubGlobalTb4b4b4(Ta5d6ff"localStorage"Tb4b4b4, Tb4b4b4{
Te6edf3getItemTff7b72: Tb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4=> Tb4b4b4(Tffa657ObjectTb4b4b4.Te6edf3prototypeTb4b4b4.Te6edf3hasOwnPropertyTb4b4b4.Te6edf3callTb4b4b4(Te6edf3draftStoreTb4b4b4, Te6edf3keyTb4b4b4) Tff7b72? Te6edf3draftStoreTb4b4b4[Te6edf3keyTb4b4b4] Tff7b72: Tff7b72nullTb4b4b4)Tb4b4b4,
Te6edf3setItemTff7b72: Tb4b4b4(Te6edf3keyTb4b4b4, Te6edf3valueTb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3draftStoreTb4b4b4[Te6edf3keyTb4b4b4] Tff7b72= Tffa657StringTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3removeItemTff7b72: Tb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72delete Te6edf3draftStoreTb4b4b4[Te6edf3keyTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"persists the previous peer draft in localStorage when switching peers"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3peerA Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3peerB Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"B" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerA Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff"draft for A"Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerB Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3drafts Tff7b72= Tffa657JSONTb4b4b4.Te6edf3parseTb4b4b4(Te6edf3draftStoreTb4b4b4[Ta5d6ff"meshchat.drafts"Tb4b4b4] Tff7b72|| Ta5d6ff"{}"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3draftsTb4b4b4[Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"draft for A"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"loads the stored draft when opening a peer"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3draftStoreTb4b4b4[Ta5d6ff"meshchat.drafts"Tb4b4b4] Tff7b72= Tffa657JSONTb4b4b4.Te6edf3stringifyTb4b4b4(Tb4b4b4{
Tb4b4b4[Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4]Tff7b72: Ta5d6ff"remembered"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{
Te6edf3selectedPeerTff7b72: Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"B" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageTextTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"remembered"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"round-trips drafts for A then B then back to A"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3peerA Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3peerB Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"b"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"B" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerA Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff"text-a"Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerB Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageTextTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff"text-b"Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerA Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageTextTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"text-a"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3setPropsTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peerB Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageTextTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"text-b"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"removes the draft key when saving an empty compose box for that peer"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3draftStoreTb4b4b4[Ta5d6ff"meshchat.drafts"Tb4b4b4] Tff7b72= Tffa657JSONTb4b4b4.Te6edf3stringifyTb4b4b4(Tb4b4b4{
Tb4b4b4[Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4]Tff7b72: Ta5d6ff"will clear"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{
Te6edf3selectedPeerTff7b72: Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff""Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3saveDraftTb4b4b4(Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3drafts Tff7b72= Tffa657JSONTb4b4b4.Te6edf3parseTb4b4b4(Te6edf3draftStoreTb4b4b4[Ta5d6ff"meshchat.drafts"Tb4b4b4] Tff7b72|| Ta5d6ff"{}"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3draftsTb4b4b4[Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeUndefinedTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"persists the current compose text when the component unmounts"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3peer Tff7b72= Tb4b4b4{ Te6edf3destination_hashTff7b72: Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4, Te6edf3display_nameTff7b72: Ta5d6ff"A" Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4{ Te6edf3selectedPeerTff7b72: Te6edf3peer Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3newMessageText Tff7b72= Ta5d6ff"save on leave"Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3drafts Tff7b72= Tffa657JSONTb4b4b4.Te6edf3parseTb4b4b4(Te6edf3draftStoreTb4b4b4[Ta5d6ff"meshchat.drafts"Tb4b4b4] Tff7b72|| Ta5d6ff"{}"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3draftsTb4b4b4[Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff32Tb4b4b4)Tb4b4b4]Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"save on leave"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"message visibility and empty bubble prevention"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3makeChatItem Tff7b72= Tb4b4b4(Te6edf3overrides Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4=> Tb4b4b4(Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72falseTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff`Ta5d6ffhash-Tffd700${Tffa657MathTb4b4b4.Te6edf3randomTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toStringTb4b4b4(T79c0ff36Tb4b4b4)Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff2Tb4b4b4, T79c0ff10Tb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"delivered"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3timestampTff7b72: T79c0ff1700000000Tb4b4b4,
Te6edf3created_atTff7b72: Ta5d6ff"2023-11-14T22:13:20.000Z"Tb4b4b4,
Tb4b4b4...Te6edf3overridesTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"hasRenderableContent"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"returns true for message with text content"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for whitespace-padded text"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff" hi "Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for empty string content and no fields"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for whitespace-only content and no fields"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff" "Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for null content and no fields"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Tff7b72nullTb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for undefined content and no fields"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for undefined fields"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"" Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for null fields"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tff7b72null Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for image field"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(
Tff7b72true
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for audio field"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10 Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(
Tff7b72true
Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for file attachments"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3file_attachmentsTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3file_nameTff7b72: Ta5d6ff"doc.pdf" Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for telemetry"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3telemetryTff7b72: Tb4b4b4{ Te6edf3locationTff7b72: Tb4b4b4{ Te6edf3latitudeTff7b72: T79c0ff0Tb4b4b4, Te6edf3longitudeTff7b72: T79c0ff0 Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for telemetry stream"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3telemetry_streamTff7b72: Tb4b4b4[Tb4b4b4{Tb4b4b4}Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for location request command"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3commandsTff7b72: Tb4b4b4[Tb4b4b4{ Ta5d6ff"0x01"Tff7b72: Tff7b72true Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for location request via string key '1'"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3commandsTff7b72: Tb4b4b4[Tb4b4b4{ T79c0ff1Tff7b72: Tff7b72true Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for commands with no location request"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3commandsTff7b72: Tb4b4b4[Tb4b4b4{ Ta5d6ff"0x99"Tff7b72: Tff7b72true Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for empty commands array"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3commandsTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for unknown/unsupported fields only"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3some_future_fieldTff7b72: Tb4b4b4{ Te6edf3dataTff7b72: T79c0ff42 Tb4b4b4}Tb4b4b4, Te6edf3another_unknownTff7b72: Ta5d6ff"value" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"isImageOnlyMessage"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"returns true for image with no text"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for image with null content"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Tff7b72nullTb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for image with whitespace-only content"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff" "Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for image with auto-generated filename caption"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"photo_2024.jpg"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image with real text caption"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"Look at this sunset!"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image with reply"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3reply_to_hashTff7b72: Ta5d6ff"abc123"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image + audio"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4}Tb4b4b4, Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10 Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image + file attachments"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{
Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4}Tb4b4b4,
Te6edf3file_attachmentsTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3file_nameTff7b72: Ta5d6ff"data.csv" Tb4b4b4}Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image + telemetry"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{
Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4}Tb4b4b4,
Te6edf3telemetryTff7b72: Tb4b4b4{ Te6edf3locationTff7b72: Tb4b4b4{ Te6edf3latitudeTff7b72: T79c0ff1Tb4b4b4, Te6edf3longitudeTff7b72: T79c0ff2 Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image + telemetry stream"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4}Tb4b4b4, Te6edf3telemetry_streamTff7b72: Tb4b4b4[Tb4b4b4{Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false for image + location request command"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4}Tb4b4b4, Te6edf3commandsTff7b72: Tb4b4b4[Tb4b4b4{ Ta5d6ff"0x01"Tff7b72: Tff7b72true Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns false when there is no image"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"just text"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"returns true for outbound image-only"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itemTb4b4b4.Te6edf3is_outbound Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"selectedPeerChatItems filtering"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"filters out messages with no renderable content"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"visible" Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3some_unknownTff7b72: Tff7b72true Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3contentTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"visible"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"keeps image-only messages visible"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"keeps audio-only messages visible"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10 Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"keeps telemetry messages visible when showTelemetryInChat is true"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3showTelemetryInChat Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3telemetryTff7b72: Tb4b4b4{ Te6edf3locationTff7b72: Tb4b4b4{ Te6edf3latitudeTff7b72: T79c0ff0Tb4b4b4, Te6edf3longitudeTff7b72: T79c0ff0 Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"filters out reactions"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"reaction"Tb4b4b4, Te6edf3is_reactionTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"filters out empty messages even if state is delivered"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3stateTff7b72: Ta5d6ff"delivered" Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Tff7b72nullTb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3stateTff7b72: Ta5d6ff"delivered" Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff" "Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4, Te6edf3stateTff7b72: Ta5d6ff"delivered" Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"filters out empty outbound messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itemTb4b4b4.Te6edf3is_outbound Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3itemTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"keeps file-only messages"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3file_attachmentsTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3file_nameTff7b72: Ta5d6ff"readme.txt" Tb4b4b4}Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"handles mixed visible and invisible messages correctly"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"text message" Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3weird_fieldTff7b72: Tff7b72true Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10 Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff3Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"image strip grouping"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"groups 2+ consecutive image-only messages from same sender into imageGroup"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"img1"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"img2"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3typeTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"imageGroup"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not group a single image-only message"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"solo-img"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3typeTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"single"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not merge images with real captions into strip"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"captioned1"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"Beautiful landscape"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"captioned2"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"Another beautiful shot"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4.Te6edf3everyTb4b4b4(Tb4b4b4(Te6edf3gTb4b4b4) Tb4b4b4=> Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"single"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"groups images with filename captions into strip"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"fn1"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"photo_001.jpg"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"fn2"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"photo_002.png"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3typeTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"imageGroup"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not merge images from different senders"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3inbound Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"in-img"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3inboundTb4b4b4.Te6edf3is_outbound Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72const Te6edf3outbound Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"out-img"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3outboundTb4b4b4.Te6edf3is_outbound Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3inboundTb4b4b4, Te6edf3outboundTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4.Te6edf3everyTb4b4b4(Tb4b4b4(Te6edf3gTb4b4b4) Tb4b4b4=> Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"single"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not merge failed images into strip"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"fail-img"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"failed"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"ok-img"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4.Te6edf3everyTb4b4b4(Tb4b4b4(Te6edf3gTb4b4b4) Tb4b4b4=> Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"single"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not merge spam images into strip"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"spam-img"Tb4b4b4,
Te6edf3is_spamTff7b72: Tff7b72trueTb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"ok-img2"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not merge image with reply into strip"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"reply-img"Tb4b4b4,
Te6edf3reply_to_hashTff7b72: Ta5d6ff"some-hash"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff"plain-img"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3groupsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff2Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"caps image strip at 12 images"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3items Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< T79c0ff15Tb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Te6edf3itemsTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3hashTff7b72: Ta5d6ff`Ta5d6ffstrip-Tffd700${Te6edf3iTffd700}Ta5d6ff`Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Te6edf3itemsTb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3groups Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatDisplayGroupsTb4b4b4;
Tff7b72const Te6edf3imgGroup Tff7b72= Te6edf3groupsTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3gTb4b4b4) Tb4b4b4=> Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"imageGroup"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3imgGroupTb4b4b4)Tb4b4b4.Te6edf3toBeDefinedTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3imgGroupTb4b4b4.Te6edf3itemsTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeLessThanOrEqualTb4b4b4(T79c0ff12Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"isLikelyMultiImagePlaceholderCaption"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72let Te6edf3wrapperTb4b4b4;
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"recognizes standard image filenames"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.jpg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"IMG_20240101.png"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"screenshot.webp"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"image.heic"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"cat.gif"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects non-image filenames"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"document.pdf"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"video.mp4"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"archive.zip"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects normal text messages"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"hello world"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"check out this image"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"I sent you a .png file"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects multiline text"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.jpg\nmore text"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects text with path separators"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"/home/user/photo.jpg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"C:\\Users\\photo.jpg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects text with special characters"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"<script>photo.jpg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"[photo].jpg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects null or empty"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff""Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"rejects very long strings"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"a"Tb4b4b4.Te6edf3repeatTb4b4b4(T79c0ff250Tb4b4b4) Tff7b72+ Ta5d6ff".png"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"handles edge case extensions"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.jpeg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.JPEG"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.PNG"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.avif"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.svg"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isLikelyMultiImagePlaceholderCaptionTb4b4b4(Ta5d6ff"photo.bmp"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"shouldHideAutoImageCaption"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"hides filename caption on image message"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"photo_2024.jpg"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3shouldHideAutoImageCaptionTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not hide real text on image message"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"Here is the picture from yesterday"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"jpg" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3shouldHideAutoImageCaptionTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not hide anything on non-image message"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff"photo.jpg"Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3shouldHideAutoImageCaptionTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"does not hide empty content"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3shouldHideAutoImageCaptionTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"edge cases with multiple field combinations"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"image + text shows bubble (not image-only)"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"Check this out"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3itemTb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"audio + text renders and is not image-only"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"Listen to this"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10 Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Te6edf3itemTb4b4b4.Te6edf3lxmf_messageTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"file attachment with no text still shows"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3msg Tff7b72= Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3file_attachmentsTff7b72: Tb4b4b4[Tb4b4b4{ Te6edf3file_nameTff7b72: Ta5d6ff"a.zip" Tb4b4b4}Tb4b4b4] Tb4b4b4} Tb4b4b4}Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"telemetry with text still shows"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3msg Tff7b72= Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"My location"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3telemetryTff7b72: Tb4b4b4{ Te6edf3locationTff7b72: Tb4b4b4{ Te6edf3latitudeTff7b72: T79c0ff0Tb4b4b4, Te6edf3longitudeTff7b72: T79c0ff0 Tb4b4b4} Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Te6edf3msgTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"image + audio + text is renderable but not image-only"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3item Tff7b72= Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff"multimedia"Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{
Te6edf3imageTff7b72: Tb4b4b4{ Te6edf3image_typeTff7b72: Ta5d6ff"png" Tb4b4b4}Tb4b4b4,
Te6edf3audioTff7b72: Tb4b4b4{ Te6edf3audio_modeTff7b72: T79c0ff0x10 Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3hasRenderableContentTb4b4b4(Te6edf3itemTb4b4b4.Te6edf3lxmf_messageTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"message with only unknown future fields is hidden"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{ Te6edf3future_featureTff7b72: Tb4b4b4{ Te6edf3dataTff7b72: Ta5d6ff"something" Tb4b4b4} Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"message with multiple unknown fields is hidden"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Te6edf3makeChatItemTb4b4b4(Tb4b4b4{
Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3fieldsTff7b72: Tb4b4b4{
Te6edf3stickerTff7b72: Tb4b4b4{ Te6edf3packTff7b72: Ta5d6ff"animals"Tb4b4b4, Te6edf3idTff7b72: T79c0ff3 Tb4b4b4}Tb4b4b4,
Te6edf3icon_appearanceTff7b72: Tb4b4b4{ Te6edf3themeTff7b72: Ta5d6ff"dark" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"message with empty fields object is hidden"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[Te6edf3makeChatItemTb4b4b4(Tb4b4b4{ Te6edf3contentTff7b72: Ta5d6ff""Tb4b4b4, Te6edf3fieldsTff7b72: Tb4b4b4{Tb4b4b4} Tb4b4b4}Tb4b4b4)Tb4b4b4]Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"android native wav attachment gate"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3afterEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72delete Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroidTb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"prefers isNativeWavAttachmentAvailable when present"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroid Tff7b72= Tb4b4b4{
Te6edf3getPlatformTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Ta5d6ff"android"Tb4b4b4,
Te6edf3startNativeWavAttachmentTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3isNativeWavAttachmentAvailableTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72trueTb4b4b4,
Te6edf3isNativePcmAudioAvailableTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3androidNativeWavAttachmentAllowedTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"falls back to isNativePcmAudioAvailable when wav-specific method is absent"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroid Tff7b72= Tb4b4b4{
Te6edf3getPlatformTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Ta5d6ff"android"Tb4b4b4,
Te6edf3startNativeWavAttachmentTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3isNativePcmAudioAvailableTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3androidNativeWavAttachmentAllowedTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"is false when isNativeWavAttachmentAvailable returns false"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroid Tff7b72= Tb4b4b4{
Te6edf3getPlatformTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Ta5d6ff"android"Tb4b4b4,
Te6edf3startNativeWavAttachmentTff7b72: Te6edf3viTb4b4b4.Te6edf3fnTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3isNativeWavAttachmentAvailableTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72falseTb4b4b4,
Te6edf3isNativePcmAudioAvailableTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3androidNativeWavAttachmentAllowedTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"is false without startNativeWavAttachment"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3MeshChatXAndroid Tff7b72= Tb4b4b4{
Te6edf3getPlatformTff7b72: Tb4b4b4(Tb4b4b4) Tb4b4b4=> Ta5d6ff"android"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3androidNativeWavAttachmentAllowedTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"outbound pending placeholder dedupe"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3itTb4b4b4(Ta5d6ff"removes all pending placeholders for a peer when the real message is created"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"pending-1"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Te6edf3_pendingPathfindingTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"pending-2"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"TEST-HASH"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3onLxmfMessageCreatedTb4b4b4(Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"real-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"real-hash"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"hides pending bubbles when a matching real outbound message is already loaded"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"real-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"failed"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"pending-1"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Te6edf3_pendingPathfindingTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3visible Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3selectedPeerChatItemsTb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3visibleTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3visibleTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"real-hash"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"reconciles pending placeholders after loading conversation history"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3wrapper Tff7b72= Te6edf3mountConversationViewerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItems Tff7b72= Tb4b4b4[
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"real-hash"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"failed"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4{
Te6edf3typeTff7b72: Ta5d6ff"lxmf_message"Tb4b4b4,
Te6edf3is_outboundTff7b72: Tff7b72trueTb4b4b4,
Te6edf3lxmf_messageTff7b72: Tb4b4b4{
Te6edf3hashTff7b72: Ta5d6ff"pending-1"Tb4b4b4,
Te6edf3contentTff7b72: Ta5d6ff"hello"Tb4b4b4,
Te6edf3destination_hashTff7b72: Ta5d6ff"test-hash"Tb4b4b4,
Te6edf3source_hashTff7b72: Ta5d6ff"my-hash"Tb4b4b4,
Te6edf3stateTff7b72: Ta5d6ff"sending"Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4]Tb4b4b4;
Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3reconcileOutboundPendingPlaceholdersTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4)Tb4b4b4.Te6edf3toHaveLengthTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3chatItemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"real-hash"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────